Input controller and corresponding game mechanics for virtual reality systems

ABSTRACT

Systems and methods for facilitating user interaction with a virtual environment are discussed herein. In various implementations, the virtual environment may comprise a virtual reality game and a visual depiction of an input device of a user. As the user moves an input device, the visual depiction of the input device may appear to move in the virtual environment to facilitate gameplay. For example, a series of images corresponding to different visual characteristics may appear to travel toward the user. A score for the user may be determined based on the number of the series of images the user is able to intercept by moving the input device such that the position of an image traveling toward the user corresponds to the end of the visual depiction of the input device having the same visual characteristic.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional PatentApplication Ser. No. 62/531,199 filed Jul. 11, 2017, the entirety ofwhich is hereby incorporated herein by reference.

FIELD OF THE INVENTION

The invention relates generally to virtual reality systems, and moreparticularly to an input controller, and corresponding game mechanicsperformed using the input controller, for virtual reality systems.

BACKGROUND OF THE INVENTION

The global market for Virtual Reality (“VR”) hardware and software isgrowing at a rapid pace. Indeed, VR technology is increasingly used in avariety of sectors including, for example, entertainment, artistry anddesign, education, tourism and exploration, healthcare, real estate, andshopping. One of the main applications for VR is gaming. Many VR gamesare known.

Many VR systems include hand-held controllers that include joysticks,buttons, triggers, or other actuators that are manipulated by users inorder to execute actions in a virtual environment. In some instances,there is little to no correspondence between the physical (orreal-world) action of manipulating an actuator on a controller, and theresulting action in the virtual game environment. In other words, theaction that occurs in the virtual environment does not mimic (orresemble) the action or input that the user makes with the controller tocause the action in the virtual environment. As such, the overall VRexperience may feel less real to a user, thereby diminishing the gameexperience, and possibly causing the user to lose interest in a game.

These and other drawbacks exist with many input controllers currentlyused with VR systems.

SUMMARY OF THE INVENTION

The invention addressing these and other drawbacks relates to an inputcontroller, and corresponding game mechanics performed using the inputcontroller, for virtual reality systems.

The various objects, features, and characteristics of the inputcontroller and system and/or method disclosed herein, as well as themethods of operation and functions of the related elements of structureand the combination of parts and economies of manufacture, will becomemore apparent upon consideration of the following description withreference to the accompanying drawings, all of which form a part of thisspecification, wherein like reference numerals designate correspondingparts in the various figures. It is to be expressly understood, however,that the drawings are for the purpose of illustration and descriptiononly and are not intended as a definition of the limits of theinvention. As used in the specification and in the claims, the singularform of “a”, “an”, and “the” include plural referents unless the contextclearly dictates otherwise.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an exemplary illustration of an input controller for use witha VR system, according to an implementation of the invention.

FIG. 2 illustrates an exemplary system architecture, according to animplementation of the invention.

FIG. 3 illustrates exemplary modules comprising a VR game application,according to an implementation of the invention.

FIG. 4 depicts an exemplary virtual environment generated by a VR gameapplication, according to an implementation of the invention.

FIG. 5 depicts an exemplary virtual environment generated by a VR gameapplication, according to an implementation of the invention.

FIG. 6 depicts an exemplary virtual environment generated by a VR gameapplication, according to an implementation of the invention.

FIG. 7 depicts an exemplary virtual environment generated by a VR gameapplication, according to an implementation of the invention.

FIG. 8 depicts an exemplary virtual environment generated by a VR gameapplication, according to an implementation of the invention.

FIG. 9 depicts an exemplary flowchart of processing operations,according to an implementation of the invention.

DETAILED DESCRIPTION OF THE INVENTION

The invention described herein relates to an input controller, andcorresponding game mechanics performed using the input controller, forvirtual reality systems.

As used herein, “virtual reality” (VR) may refer to what istraditionally considered virtual reality and hybrids thereof. Forexample it may include aspects of augmented reality, augmentedvirtuality, mixed reality, diminished reality and/or other variations.

Further, while aspects of the invention may be described herein withreference to various VR games, it should be appreciated that any suchexamples are for illustrative purposes only, and are not intended to belimiting. The input controller described in detail herein may be usedwith non-gaming VR applications (e.g., exercise, training andsimulation, and other non-game applications) in addition to any genre ofVR game, without limitation. Also, the terms “user,” “player,” and“gamer,” along with other similar descriptors, may be used hereininterchangeably.

With reference to FIG. 1, an input controller 110 (for use with a VRsystem) is shown. Input controller 110 may comprise an elongatedphysical object 118 and a VR controller 120 coupled thereto (describedin greater detail below).

According to an aspect of the invention, object 118 may comprise, forinstance, a bar, baton, club, rod, staff, stick, or other elongated,physical object. Although shown in FIG. 1 as having a cylindricalcross-section, object 118 may have a different cross-section (e.g.,square or triangular cross-section, etc.) in different implementations.Further, object 118 may be rigid (e.g., made of wood, metal, hardplastic, etc.), or flexible (e.g., made of foam or other flexiblematerial).

A VR controller 120 may be attached to object 118 (e.g., at a portion ofthe object substantially centered between first end 112 and second end114). Alternatively, in various implementations, VR controller 120 maybe attached to object 118 at various positions along the length ofobject 118 depending on how input controller 110 will be used with a VRgame or application.

VR controller 120 may include one or more components (e.g.,accelerometer, gyroscope, and other sensors) to determine the relativemovement of object 118 (when attached thereto), including relativeposition, rotation, orientation, and/or other movement or positon data.According to an aspect of the invention, VR controller 120 may compriseany known or hereafter developed game controller for a VR system, andmay be in operative communication with one or more other VR systemcomponents (described below) via a wired or wireless connection. Forexample, in one non-limiting implementation, VR controller 120 maycomprise an HTC Vive wireless, hand-held controller. As detailed below,object 118 and the relative movement thereof may be depicted in a 3Dvirtual environment as part of a VR game and/or other VR application.

In one implementation, VR controller 120 may be removably coupled to thebody of object 118 via adhesive tape, string, a mechanical fastener(e.g., a bracket, clamp, etc.), or via other removable attachmentmechanisms. Alternatively, VR controller 120 may be permanently affixedto object 118.

In some implementations, VR controller 120 may be (removably orpermanently) coupled to a household (or other) object such as, forexample, a wooden stick, broom handle, foam roller, exercise baton,exercise bar, Nerf® Noodle or other object to turn the object into aninput controller 110.

In some implementations, object 118 may be fabricated with its ownintegral VR controller component(s) (e.g., accelerometer, gyroscope, andother sensors).

Object 118 may vary in length (and/or cross-section) depending on theuser. For example, object 118 may have a shorter length (and/or smallercross-section) for younger or smaller users, and a longer length (and/orgreater cross-section) for older or larger users. In someimplementations, object 118 may include telescoping portions at eitheror both of first and second ends (112, 114) to enable its length to beadjusted.

In one implementation, object 118 may be configured to be grasped at afirst portion and a second portion thereof by a user's hands duringgameplay (described below). Depending on the game or application, theremay be instances when a user is instructed to hold object 118 with onehand and/or both hands.

According to an aspect of the invention, with the VR controller 120 iscoupled to object 118, input controller 110 may serve as a universalcontroller for use with any VR game or application wherein a cylindricalor other elongated object is used to interact with, for example, lights,animations, or other objects in a virtual environment. As such, a usermay hold, move, swing, or otherwise manipulate object 118 to executeactions or commands without having to hold the actual VR controller 120.

Having provided the foregoing description of input controller 110, itsuse with an exemplary (and non-limiting) VR system will now bedescribed.

Exemplary System Architecture

FIG. 2 depicts an exemplary (and non-limiting) architecture of a system100 which may include, for example, one or more servers 130, one or moredatabases 140, one or more computer systems 160, and/or othercomponents.

Computer System 160

Computer system 160 may be configured as a gaming console, a handheldgaming device, a personal computer (e.g., a desktop computer, a laptopcomputer, etc.), a smartphone, a tablet computing device, a virtualreality headset, a head-mounted display, and/or other device that can beused to interact with an instance of a VR game. According to an aspectof the invention, computer system 160 may comprise any computersufficiently powerful to run VR games or other applications (e.g., agaming computer, a game console that is VR-enabled, a smartphone enabledheadset and/or any other suitable computing system). Computer system 160may be programmed with a VR operating system, and may have one or moreVR applications or VR games loaded thereon, or otherwise available.Various VR headsets, VR controllers, and/or other peripherals may alsobe used with computer system 160.

Computer system 160 may include communication lines, or ports to enablethe exchange of information with a network 150, and/or other computingplatforms. Computer system 160 may include a plurality of hardware,software, and/or firmware components operating together to provide thefunctionality attributed herein to computer system 160. For example,computer system 160 may include one or more processors 162 (alsointerchangeably referred to herein as processors 162, processor(s) 162,or processor 162 for convenience), one or more storage devices 164(which may store a VR game application 166 and data), and/or othercomponents.

Processors 162 may be programmed by one or more computer programinstructions. For example, processors 162 may be programmed by VR gameor other VR application 166 and/or other instructions (such as gaminginstructions used to instantiate the VR game).

The various instructions described herein may be stored in one or morestorage devices 164 which may comprise random access memory (RAM), readonly memory (ROM), and/or other memory. The storage device may store thecomputer program instructions to be executed by processor(s) 162 as wellas data that may be manipulated by processor(s) 162. The storage devicemay comprise floppy disks, hard disks, optical disks, tapes, or otherstorage media for storing computer-executable instructions and/or data.

In some implementations, components of computer system 160 (e.g., adisplay, user interface, etc.) may be coupled to (e.g., wired to,configured to wirelessly communicate with) computer system 160 withoutbeing included in computer system 160.

Input Controller 110

As described in detail above with reference to FIG. 1, input controller110 may comprise a universal controller for use with any VR game orapplication, and may be in operative communication with computer system160 via a wired or wireless connection. In a multiplayer configuration,two or more input controllers 110 may be provided for use and enjoymentby multiple users.

Additional Peripherals 190

In addition to input controller 110, one or more additional peripherals190 may be used to obtain an input (e.g., direct input, measured input,etc.) from player(s). Peripherals 190 may include, without limitation, agame controller, a gamepad, a keyboard, a mouse, an imaging device suchas a camera, a motion sensing device, a light sensor, a biometricsensor, and/or other peripheral device that can obtain an input from aplayer. Peripherals 190 may be coupled to computer system 160 via awired and/or wireless connection.

Display 180

Display 180 may comprise a computer screen, a smartphone screen, a TVscreen, a projector screen, a head-mounted display, or wearable glasses.

In one implementation, display 180 may comprise a virtual realityheadset that is worn on the head of a user. VR content may be presentedto the user in a virtual space via a display included in the headset.The virtual reality headset may be configured such that a perception ofa three-dimensional space is created by two stereoscopic movies, onegenerated for each eye, which are each being rendered in real time andthen displayed. The convergence of these two movies in real time—oneimage to each eye (along with how those views are reactive to viewerhead rotation and body posture in space)—may create a specific kind ofimmersive 3D effect and/or a sensation of presence in a 3D virtualworld. Presenting VR content to the user in the virtual space mayinclude presenting one or more views of the virtual space to the user.Although not separately illustrated, headphones may be utilized with avirtual reality headset and may be integral therewith or separatetherefrom. Other sensory devices including haptics, olfactory devices,and/or other devices may be used.

Motion Tracker 170

Motion tracker 170 may be configured to track or sense the motion orgestures of a user and transmit data representative of the detectedmotion or gesture information to computer system 160. Additionally,motion tracker 170 may include facial recognition and/or voicerecognition capability. Computer system 160 may control the virtualrepresentation of the user in a virtual environment to exhibitsubstantially the same motion or gesture as that of the user (e.g., insubstantially real time).

In one implementation, motion tracker 170 may include one or more of acamera, a sensor (e.g., a depth sensor), and a microphone. The sensor ofthe motion tracker 170 may include an infrared laser projector and aCMOS sensor.

Examples of motion tracker 170 may include, but are not limited to, theMicrosoft Kinect motion sensing system, or a Sony PlayStation motionsensing camera. Motion tracker 170 may be operatively coupled tocomputer system 160 via a wired and/or wireless connection.

Server 130

In some implementations of the invention, a user may download one ormore VR games or VR applications (e.g., VR game application 166) tocomputer system 160 from server 130. Server 130 may, for example,comprise a game server, and/or may host an app store or other onlinemarketplace.

In some implementations, computer system 160 may function as a hostcomputer that hosts gameplay between (or with) other devices, such asother computer system(s) 160. In yet other implementations, server 130may function as a host computer that hosts gameplay between otherdevices, such as computer system(s) 160.

Server 130 may include one or more computing devices. Server 130 mayinclude one or more physical processors programmed by computer programinstructions, one or more storage devices (which may store, for example,one or more VR game applications), and/or other components.

Although each is illustrated in FIG. 2 as a single component, computersystem 160 and server 130 may each include a plurality of individualcomponents (e.g., computer devices) each programmed with at least someof the functions described herein. In this manner, some components ofcomputer system 160 and/or server 130 may perform some functions whileother components may perform other functions, as would be appreciated.

Network 150

The various components illustrated in FIG. 2 may be coupled to at leastone other component via a network 150, which may include any one or moreof, for instance, the Internet, an intranet, a PAN (Personal AreaNetwork), a LAN (Local Area Network), a WAN (Wide Area Network), a SAN(Storage Area Network), a MAN (Metropolitan Area Network), a wirelessnetwork, a cellular communications network, a Public Switched TelephoneNetwork, and/or other network.

Databases 140

In some implementations, system 100 may comprise one or more databases140. Databases 140 may comprise one or more such databases that residein one or more physical devices and in one or more physical locations.The database may store a plurality of types of data and/or files andassociated data or file descriptions, administrative information, or anyother data.

Home Use and Location-Based Entertainment

The foregoing description of the various components comprising systemarchitecture 100 is exemplary only, and should not be viewed aslimiting. The invention described herein may work with various systemconfigurations. Accordingly, more or less of the aforementioned systemcomponents may be used and/or combined in various implementations.

For example, system architecture 100 may vary depending on whether inputcontroller 110 is used for VR gameplay in a home environment, in aLocation-Based Entertainment (LBE) center such as a VR Arcade, or inanother environment.

Home/Personal Use

For home (or personal) use, computer system 160 may be associated with auser, and the user may utilize input controller 110 (along with one ormore of the other system components described above) with a VR game orVR application executing on computer system 160 in a home or otherenvironment. As noted above, a user may download one or more VR games orVR applications (e.g., VR game application 166) to computer system 160from server 130. Alternatively, server 130 may host gameplay, and may beaccessible by (user) computer system 160 via network 150.

Location-Based Entertainment Centers

The location-based entertainment (LBE) industry, which includes familyentertainment centers (FEC) and other types of community-based LBEs, isgrowing rapidly.

There are numerous reasons why VR Arcades, as one example, areincreasing in popularity. One reason is that consumer VR can beexpensive. While VR technology is becoming more affordable, VR's barrierto entry is a high one, particularly when more and more gear (e.g.,headsets, peripherals, etc.) is acquired by users in an effort to morefully “immerse” themselves in the VR experience. A lack of space in mostpeople's homes also presents challenges when attempting to design aquality room scale home VR experience. By contrast, with VR Arcades,users can access a plurality of different VR hardware and games for lesscost than would be necessary to obtain the same experience in a homesetting. Moreover, VR Arcades have clear social benefits, in that groupsof friends, coworkers, etc. can come together to enjoy multiplayer VR.

Accordingly, in one implementation, system architecture 100 may bemodified for use in a VR Arcade, regular arcade, or other LBE center.For example, in a VR Arcade, a number of game stations may beconfigured, each with its own computer system 160 and associatedcomponents (e.g., display 180, motion tracker 170, one or more inputcontrollers 110, and/or additional peripherals 190).

In one implementation, server 130 may comprise a local (or in-house)server that hosts VR game titles and gameplay, executes VR Arcademanagement software, and/or performs other functions, and is operativelyconnected to each of the computer systems 160 in the VR Arcade forcontrol/management purposes.

Moreover, in some implementations, a central server (or servers) (notpictured) may be coupled to the local (or in-house) servers 130 of eachVR Arcade via, e.g., network 150. The central server may, for example,provide VR Arcades with access to a plurality of VR titles developed foruse with input controller 110 for a flat rate (e g, similar to asubscription service), or other financial arrangement. In this regard,VR Arcade owners may acquire compelling VR content (e.g., a portfolio oftitles utilizing the unique game mechanics designed for input controller110) at a reasonable price.

In yet another implementation of the invention, one or more inputcontrollers 110 may be packaged with one or more other system components(e.g., computer system 160, display 180, motion tracker 170, one or moreadditional peripherals 190, etc.) and offered as an arcade kit, completewith full industry grade enclosures. In one scenario, the arcade kit maybe offered with an initial package of VR games (or other content)included with the purchase price, along with the ability to upgrade oracquire VR content at some predetermined interval (e.g, monthly) for anadditional fee. Other monetization methods may be utilized.

Each of the foregoing examples are illustrative only, and should not beviewed as limiting. Multiple system configurations may be implemented.

Gameplay/Game Mechanics

As previously noted, a user can hold, move, swing, or otherwisemanipulate input controller 110 in a plurality of different ways toexecute game actions or commands without having to hold the actual VRcontroller 120. This versatility of input controller 110 enables it tobe used with a variety of game mechanics for numerous VR game genres.While the examples described in detail below focus on music/rhythm-basedgames and exercise/fitness games, these games (and their associated gamemechanics) should not be viewed as limiting.

FIG. 3 depicts exemplary modules comprising a VR game application 136,according to an implementation of the invention. VR game application 136may execute on computer system 160. Additionally or alternatively, VRgame application 136 may run on a device such as a server 130.

In one non-limiting implementation, VR game application 136 may includea track module 310, motion detection module 320, scoring module 330,event log engine 340, sharing module 350, and/or other modules 360, eachof which comprise instructions that program computer system 160 toperform various operations, each of which are described in greaterdetail below. As used herein, for convenience, the various instructionswill be described as performing an operation, when, in fact, the variousinstructions program the processors 162 (and therefore computer system160) to perform the operation.

Further, VR game application 136 may generate one or more virtualenvironments for gameplay, non-limiting examples of which are shown inFIGS. 4-7. Both object 118 and the relative movement thereof may bedepicted in a 3D virtual environment as part of a VR game and/or otherVR application. For example, a virtual environment may include adepiction of a staff or other similar in-game object representing thereal-world object that is being used by a player. In someimplementations, a user holding object may be depicted in a virtualenvironment as an avatar (e.g., in a third person VR implementation).

For ease of illustration, and with reference to the drawing figures, areal world item may be referred to herein using its dedicated referencecharacter (e.g., object 118), while the corresponding virtual depictionof the item in a virtual environment may be referred to using the samereference character with a “prime” notation (e.g., object 118′). Itshould also be appreciated that aspects (e.g., colors, layouts, etc.) ofa virtual environment (associated with gameplay) as described herein anddepicted in FIGS. 4-8 are exemplary in nature, and should not be viewedas limiting.

One advantage of the invention is that an object 118, which may comprisea generic, every day, real-world, elongated, physical object (as notedabove), may be depicted in a 3D virtual environment as a virtual object118′ with any number of variable characteristics (e.g., size, shape,appearance, etc.) depending on the nature of the VR game or applicationwith which it is used. In this regard, a gamer does not have to spend aconsiderable sum on a “fancy” VR peripheral, when object 118 may bedepicted as a virtual object 118′ that may be customized in-game (orin-app) in practically limitless ways.

In the following examples, real-world object 118 (and correspondingvirtual object 118′) may be used interchangeably with input controller110 (and corresponding virtual input controller 110′), respectively. Itshould be appreciated, as noted above, that object 118 becomes inputcontroller 110 when VR controller 120 is attached thereto.

Rhythm Game Example

In one implementation of the invention, VR game application 136 maycomprise a “rhythm game.” With reference to FIG. 4, a 3D graphicalenvironment 400 may include a tunnel (or tube or passage) defined by anynumber of planes (410 a, 410 b, 410 c, . . . 410 n) (or sides orsegments, etc.). One such plane may comprise a runway 420 (or lane, orpathway, etc.). As noted above, a user holding input controller 110(which includes object 118) may be depicted in environment 400 as anavatar (in a third person VR implementation) holding a similarly-shapedobject 118′ (depicted as a staff or other in-game item). Alternatively,in a first person VR implementation, only object 118′ may be shown inthe virtual environment.

According to an aspect of the invention, during gameplay, first andsecond ends (112′, 114′) of object 118′ may have a visual correspondence(e.g., in shape, appearance (e.g., color), texture, etc.) to a series ofobjects (which may also be referred to herein as visual markers, cues,prompts, symbols, particles, etc.) in 3D space that travel toward theuser along the direction of runway 420. To score, a user must manipulatereal-world object 118 so that a predetermined portion of virtual object118′ in environment 400 intercepts (e.g., catches, hits, overlays aportion of, or otherwise contacts) the matching objects as establishedby the visual correspondence.

Using color as a non-limiting example, first end 112′ of object 118′ maycomprise a first color (e.g., red), while second end 114′ may comprise asecond color (e.g., blue). The colors of the ends of virtual object 118′may be solid, and/or include some effect (e.g., glowing, pulsing, etc.).The series of objects traveling toward the user in 3D space (along thedirection of runway 420) may include both red objects 450 as well asblue objects 460. To score, a user must manipulate real-world object 118so that virtual object 118′ in environment 400 intercepts (e.g.,catches, hits, overlays a portion of, or otherwise contacts) red objects450 with the corresponding, matching red-colored end 112′ of object 118′as they pass by, and likewise intercepts blue objects 460 with thecorresponding, matching blue-colored end 114′ of object 118′ as theypass by.

Although not illustrated in FIG. 4, a center portion of virtual object118′ may have a “catcher” (or basket, or loop) of a third color (e.g.,yellow). In addition to trying to intercept red and blue objects withthe respective matching colored ends (112′, 114′) of object 118′, a usermay have to try and “catch” yellow objects (which are included in theseries of colored objects traveling toward the user along the directionof runway 420) in the catcher of object 118′ as well.

In some instances, shapes may be used to establish a visualcorrespondence between first and second ends (112′, 114′) of virtualobject 118′ and the series of objects that travel toward the user alongthe direction of runway 420. For instance, first end 112′ of virtualobject 118′ may comprise a square shape, while second end 114′ maycomprise a triangular shape. The series of objects traveling toward theuser along the direction of runway 420 may include both squares andtriangles. To score, a user must manipulate real-world object 118 sothat virtual object 118′ in environment 400 intercepts squares with thecorresponding, matching square-shaped end 112′ of object 118′ as theypass by, and intercepts triangles with the corresponding, matchingtriangular-shaped end 114′ of virtual object 118′ as they pass by. Othershapes and/or methods for establishing a visual correspondence betweenvirtual object 118′ and the game objects may be used.

In some implementations, the visual correspondence between the gameobjects and the ends (112′, 114′) of object 118′ may change mid-game.For instance, continuing with the color example above, first end 112′ ofvirtual object 118′ may change from a first color to a second color(e.g., red to green) at some point during a game session, while secondend 114′ may change from a first color to second color (e.g., blue towhite) at the same time during gameplay or at a different time. Theseries of objects traveling toward the user along the direction ofrunway 420 will then likewise change (e.g., from red to green, and fromblue to white). Further, colors may also change to different-shapedobjects and back to colors to keep a user engaged. Numerousconfigurations may be implemented to keep gameplay challenging.

In one implementation of the invention, with reference to FIG. 5, one ormore fibers (used interchangeably with tubes, ribbons, wires, threads,strings, strands, etc.) of various cross-section and length may be usedas visual cues in lieu of the objects shown in FIG. 4. For example, andcontinuing again with color as a non-limiting example, first end 112′ ofobject 118′ may comprise a first color (e.g., red), while second end114′ may comprise a second color (e.g., blue). One or more red fibers470 and blue fibers 480 may travel toward the user along the directionof runway 420. To score, a user must manipulate real-world object 118 sothat virtual object 118′ in environment 400 intercepts (e.g., catches,hits, overlays a portion of, or otherwise contacts) the red fibers 470with the corresponding, matching red-colored end 112′ of virtual object118′ as they pass by, and intercept the blue fibers 460 with thecorresponding, matching blue-colored end 114′ of object 118′ as theypass by.

An object of the game is to intercept as many objects (FIG. 4) or fibers(FIG. 5) as possible, with the correct ends of object 118′, within apredetermined time interval (e.g., 3-5 minutes). A player's score mayincrease with each correctly-intercepted object. In some instances, aplayer may lose points for each object that he or she is unable tointercept.

In some implementations, the virtual depiction of object 118′ (alongwith a user's avatar if presented) may be located at a fixed positionalong runway 420 at which to intercept objects. In otherimplementations, a user may move forward along runway 420 in an effortto “close the distance” on objects scrolling toward him or her, orbackward along runway 420 to “buy more time” before an object is to beintercepted. A successful intercept may be worth a predetermined valueif it occurs while the user is stationary, a greater value if it occurswhile a user is moving toward (or “charging”) the object, or a lesservalue if it occurs while a user is moving backward (or “retreating”)from the object. Various scoring methodologies may be implemented.

In one implementation, a visual cue may change shape or appearance toconvey that it has been successfully intercepted by a user (using theinput controller). For example, with reference to FIG. 6, objects may“explode” or “expand” into a graphic design or pattern 610, 620 (orotherwise change shape, color, or other visual appearance attribute) ifsuccessfully intercepted by the first and second ends of object 118′respectively.

In a multiplayer mode, a second runway 420 may be depicted parallel (orotherwise proximal) to runway 420 in environment 400, and a secondseries of objects may travel toward the second user along the directionof second runway 420 so that two users can compete side by side.Additional runways may be included in a similar manner for additionalusers in a multiplayer setting.

The use of input controller 110 with VR game application 136 isadvantageous in that it may increase the mobility of a user, as well asa user's sight-reflex coordination. Game application 136 is designed tobe accessible across multiple skill levels (e.g., beginner,intermediate, expert) and demographics, and provides gamers with an“easy to learn, yet difficult to master” game mechanic that provesexciting and desirable for all gamer skill levels. For example, as auser progresses through various game levels, the complexity of the gamemay increase with a greater number of objects being directed toward theuser along the direction of runway 420 at a faster rate.

With reference back to FIG. 3, track module 310 may enable developers(or other users) to create or store tracks for gameplay. A track maycomprise the series of objects (visual markers, cues, prompts, symbols,particles, etc.) described above, that travel toward the user along thedirection of runway 420 during gameplay. Tracks may differ in duration,and number/frequency of objects depending on the intended skill level(e.g., beginner, intermediate, expert, etc.). In some implementations,tracks may comprises only visual data (e.g., cues), or both visual andaudio data (e.g., a music track). The scrolling cues may correspond to(or synch with) beats in the selected music track.

In one aspect of the invention, track module 310 may comprise a musiclibrary, featuring tracks for gameplay that correspond to popular musicartists and genres. In one example, a track may comprise a song by apopular artist, having a synchronized series of visual cues, as well asartist voiceovers, appearances, artwork, and/or other visual assets thatappear in the virtual environment during gameplay. For example, apopular DJ may appear in the virtual environment and “throw” beats at auser for him or her to intercept. These types of tracks may, forexample, be made available for in-game purchase, or download via an appstore or other on-line marketplace, or via another channel of commerce,which may create a new revenue stream for artists. In yet otherimplementations, some tracks may be sponsored by athletes, brands, orother types of celebrities or entities. Numerous possibilities exist.

During gameplay, the movements of object 118 as well as the user aredetected and translated to the virtual environment. Motion detectionmodule 320 may receive input(s) from input controller 110 and/or motiontracker 170, and use the received inputs to determine whether a user hascorrectly manipulated input controller 110 to intercept the objects(visual cues) associated with a given track in the virtual environmentas described in detail above.

Scoring module 330 scores gameplay based on the information determinedby motion detection module 320.

In one implementation, an event log engine 340 may record gameplay stateinformation during gameplay. The gameplay state information may includeinput controller movements, other user inputs and commands andassociated timing information of the input controller movements andcommands for one or more players, audio/video information, positions andattributes of avatars and objects, depiction of surrounding gameenvironment and conditions, and any other type of game state informationthat may be used to recreate the game state for any given time or periodof time of a gameplay session. The event log engine may capture gameplaystate information continuously, or in predetermined segments, and thecaptured gameplay state information may be stored in one or moredatabases.

Sharing module 350 may enable a player to share video of gameplay, orother information (e.g., gameplay statistics, etc.) internally (in-game)via, for example, an in-game social network or a game publisher-centricsocial network accessible by game players.

Additionally or alternatively, sharing module 350 may enable a player toshare video of gameplay, or other information (e.g., gameplaystatistics, etc.) via one or more external social networks (e.g.,Facebook, Google+, Twitter, Instagram, Vine, Tumblr, etc.).

In one implementation of the invention, sharing module 350 may enable aplayer to transmit communications (e.g., email messages, text messages,or other electronic communications) that include hyperlinks or otherselectable graphical user interface objects that enable recipients toaccess the shared information.

Shape-Fitting Game

In one implementation of the invention, VR game application 136 maycomprise a “shape-fitting game.” Similar to the rhythm game exampledescribed above, and with reference to FIG. 7, a 3D graphicalenvironment 700 may include a depiction of a staff or other similarin-game object 118′ representing the real-world object 118 that is beingused by a player. Although not shown in FIG. 7, a user holding object118 may be depicted in environment 700 as an avatar (in a third personVR implementation).

During gameplay, a series of shapes (or objects) (710 a, 710 b, 710 c, .. . 710 n) may travel toward a user in the virtual environment along thedirection of a runway or other path (e.g., similar to runway 420 inFIGS. 4-6). The shapes, which may differ in size, configuration, layout,etc., may be substantially solid with the exception of a space thatenables the passage of object 118′ completely therethrough.

In the example depicted in FIG. 7, shapes 710 a, 710 b, 710 c are shownas circles, each having a cut-out at a predetermined orientation thatpermits passage of the virtual object 118′ therethrough. To score, auser must manipulate real-world object 118 so that virtual object 118′in environment 700 passes through the cut-out in each object 710 a, 710b, 710 c, while avoiding contact with each object, as each object passesby the user. The objects 710 a, 710 b, 710 c may be spaced apart fromone another by varying distances, and may scroll toward the user atdifferent speeds depending on skill level (e.g., beginner, intermediate,expert). Each game may last a predetermined time interval (e.g., 3-5minutes). A player's score may increase with each object that is“cleared” (e.g., for which object 118′ passes therethrough). In someinstances, a player may lose points for each object that he or she isunable to clear.

In some implementations, the graphical depiction of object 118′ (alongwith a user's avatar if presented) may be located at a fixed positionalong a runway at which to clear objects. In other implementations, auser may move forward along the runway in an effort to “close thedistance” on objects scrolling toward him or her, or backward along therunway to “buy more time” to clear an object. A successful clear may beworth a predetermined value if it occurs while the user is stationary, agreater value if it occurs while a user is moving toward (or “charging”)the object along the runway, or a lesser value if it occurs while a useris moving backward (or “retreating”) from the object along the runway.Various scoring methodologies may be implemented.

The use of input controller 110 with VR game application 136 isadvantageous in that it may increase the mobility of a user, as well asa user's sight-reflex coordination. Game application 136 is designed tobe accessible across multiple skill levels (e.g., beginner,intermediate, expert) and demographics, and provides gamers with an“easy to learn, yet difficult to master” game mechanic that provesexciting and desirable for all gamer skill levels. For example, as auser progresses through various game levels, the complexity of the gamemay increase with a greater number of objects being directed toward theuser along the direction of the runway that he or she must clear at afaster rate.

In one implementation, an object 710 a, 710 b, or 710 c may change shapeor appearance to convey that it has been successfully cleared by a user(using the input controller). For example, the object may “explode” or“expand” into a graphic design or pattern (or otherwise change shape,color, or other visual appearance attribute) if successfully cleared bythe first and second ends of input controller 110 respectively.

In a multiplayer mode, a second runway may be depicted parallel (orotherwise proximal) to the runway in environment 700, and a secondseries of objects may travel toward the second user along the directionof the second runway so that two users can compete side by side.Additional runways may be included in a similar manner for additionalusers in a multiplayer setting.

In some implementations in which a user is also depicted in environment700 as an avatar (in a third person VR implementation), one or more ofthe objects 710 a, 710 b, 710 c scrolling toward the user may besubstantially solid with the exception of a space that enables thepassage of both the avatar and the object 118′ completely therethrough.In other words, an object may have a body-shaped “cut out” or pattern,as well as a cut-out at a predetermined orientation for object 118′. Inthis regard, to score, a user must position his or her body so that thecorresponding avatar in environment 700 passes through the body-shaped“cut out” or pattern, and also manipulate real-world object 118 so thatvirtual object 118′ in environment 700 passes through the cut-out ineach object 710 a, 710 b, 710 c, while avoiding contact with eachobject, as each object passes by the user. Other variations may beimplemented.

The exemplary modules comprising VR game application 136 for the“shape-fitting” game may be the same as those described in detail abovewith regard to FIG. 3 for the rhythm-based game. For example, trackmodule 310 may enable developers (or other users) to create or storetracks for gameplay. A track may comprise the series of objectsdescribed above, that travel toward the user along the runway to be“cleared.” Tracks may differ in duration, and number/frequency ofobjects depending on the intended skill level (e.g., beginner,intermediate, expert, etc.).

During gameplay, motion detection module 320 may receive input(s) frominput controller 110 and/or motion tracker 170, and use the receivedinputs to determine whether a user has correctly manipulated inputcontroller 110 (and/or his or herself) in 3D space to clear the objectsassociated with a given track.

Scoring module 330 scores gameplay based on the information determinedby motion detection module 320. In one implementation, an event logengine 340 may record gameplay state information during gameplay.Sharing module 350 may enable a player to share video of gameplay, orother information (e.g., gameplay statistics, etc.) internally (in-game)or externally via one or more external social networks (e.g., Facebook,Google+, Twitter, Instagram, Vine, Tumblr, etc.) as described above.

The foregoing rhythm-based and “shape-fitting” games are illustrativeonly, and not intended to be limiting. In one implementation, forexample, a hybrid rhythm-based and “shape-fitting” games may be providedcombining the game mechanics of each as described above.

In either game, users may progress and “unlock” content through theachievement of certain benchmarks during gameplay. For example, withreference to FIG. 8, a user's input controller 110 may be depictedin-game as a staff, which itself may become more elaborate (e.g.,transition from staff 810, to staff 820, to staff 830) etc. as certainbenchmarks are achieved (scores obtained, levels “unlocked” and cleared,etc.). A user may build his or her own staff in VR, purchase specialstaffs in-game or via an app store etc., and may earn power-ups,shields, and any number of in-game benefits via certain gameplayactions.

By way of example, the system may include various options for powerups.According to one example, upon the occurrence of a certain condition(e.g., at a certain time in the game, upon the occurrence of a certainevent in the game or upon the occurrence of other conditions), the gamestate may be operable (e.g., for a certain period of time) to provide apower up. When the game state is so operable, it may cause informationabout the state, the remaining duration of the state and/or award to bedisplayed to the user.

As one example, satisfying a certain set of conditions can causemovement of the virtual object 118′ to leave a trail that has functionalsignificance to the gamer play. The condition may be that the usercontacts a certain colored object or pattern of colors of objects.Optionally, the user may be required to make such contact with aspecified portion of the virtual object 118′ (e.g., a particular end,the middle or other specified portion). Upon doing so, the game statemay change to be operable such that the object 118 can be moved in arapid fashion and the virtual object 188″ will appear to leave a trailcorresponding to the motion for a certain period of time. When thisoccurs, if displayed objects (e.g., colored objects) traveling towardthe user are contacted by the “trail” (and not just the actual end ofthe virtual object 118′) the user will be deemed to have contacted thedisplayed object. In this way, the trail powerup makes it easier to hitthe displayed objects or a group of displayed objects as they movetoward the user. According to one embodiment, this power up maycorrespond to hitting a certain colored object, with a certain portionof the virtual object 118′. For example, the virtual object may have oneend that is blue and one that is yellow. The particular colored object(e.g., green) may appear and require the user to hit it with a centerportion of the virtual object 118′ to activate the power up. The gameengine may be programmed such that the green object may appear before alarge grouping of blue and/or yellow objects. Activating the trailpowerup may be an easier way to contact all of the large group ofobjects. Of course the specific colors and requirements can vary forthis power up.

According to another example power up, satisfying a certain set ofconditions can cause time in the game to slow down (e.g. slow the rateat which colored objects travel towards a user). The condition may bethat the user contacts a certain colored object or pattern of colors ofobjects. Optionally, the user may be required to make such contact witha specified portion of the virtual object 118′ (e.g., a particular end,the middle or other specified portion). Upon doing so, the game statemay change to be operable such that time in the game to slows down forsome time. In this way, the time powerup makes it easier to hit thedisplayed objects or a group of displayed objects as they move towardthe user. According to one embodiment, this power up may correspond tohitting a certain colored object, with a certain portion of the virtualobject 118′. For example, the virtual object may have one end that isblue and one that is yellow. The particular colored object (e.g., green)may appear and require the user to hit it with a center portion of thevirtual object 118′ to activate the power up. The game engine may beprogrammed such that the green object may appear before a large groupingof blue and/or yellow objects. Activating the time powerup may be aneasier way to contact all of the large group of objects. Of course thespecific colors and requirements can vary for this power up.

According to another example power up, satisfying a certain set ofconditions can cause the virtual object 118′ to become relatively larger(e.g., 1.5-5×) than prior to the powerup for a period of time. Thecondition may be that the user contacts a certain colored object orpattern of colors of objects and/or that the user must move the virtualobject in a predetermined pattern. Optionally, the user may be requiredto make such contact with a specified portion of the virtual object 118′(e.g., a particular end, the middle or other specified portion). Upondoing so, the game state may change to be operable such that virtualobject 118′ to become relatively larger. In this way, this powerup makesit easier to hit the displayed objects or a group of displayed objectsas they move toward the user. According to one embodiment, this power upmay correspond to hitting a certain colored object, with a certainportion of the virtual object 118′ and/or that the user must move thevirtual object in a predetermined pattern. For example, the virtualobject may have one end that is blue and one that is yellow. Theparticular colored object (e.g., green) may appear and require the userto hit it with a center portion of the virtual object 118′ to activatethe power up. The game engine may be programmed such that the greenobject may appear before a large grouping of blue and/or yellow objects.Alternatively or in addition, the predetermined pattern may correspondto a simulated rowing motion with the object 118. Activating the timepowerup may be an easier way to contact all of the large group ofobjects. Of course the specific colors and requirements can vary forthis power up. The speed of the motion (e.g., rowing action) may impactthe increase in size. For example, engaging in the required motion maygenerate a display of a circle near the ends of the stick. The size ofthe circle may increase with the speed and/or frequency of the motion.

Each of the powerups may have activating conditions and powerupcharacteristics. The activating conditions for each of the power upcharacteristics can include any of the examples described herein andreasonable alternatives. The foregoing are examples only.

By way of example, other activating conditions can include a userdrawing certain patterns (e.g., a shield) on the ground with the virtualobject 118′ at certain times (e.g., when prompted by the game display).According to this power up, the game state may change to be operablesuch that a shield is displayed in a certain region to block and coloredobjects as they move toward the user to prevent the user from having tocontact those colored objects with the virtual object 118′ or performother shield functions.

Exemplary Flowchart

FIG. 9 depicts an exemplary flowchart of processing operations,according to an implementation of the invention. The various processingoperations and/or data flows depicted in FIG. 9 are described in greaterdetail herein. The described operations may be accomplished using someor all of the system components described in detail above and, in someimplementations, various operations may be performed in differentsequences and various operations may be omitted. Additional operationsmay be performed along with some or all of the operations shown in thedepicted flow diagram. One or more operations may be performedsimultaneously. Accordingly, the operations as illustrated (anddescribed in greater detail below) are exemplary by nature and, as such,should not be viewed as limiting.

In an operation 902, game objects are presented to a user in VR space.In a rhythm-based VR game, a series of game objects (visual markers,cues, prompts, symbols, particles, etc.) may travel toward a user alonga runway during gameplay. A game objective is for the user to correctlymanipulate input controller to intercept the objects (visual cues) in VRspace as described in detail herein with regard to FIGS. 4-6. In ashape-fitting game, the game objects may comprise a series of shapes(which may differ in size, configuration, layout, etc.) that aresubstantially solid with the exception of a space that enables thepassage of a visual depiction of the input controller and/or a humanform completely therethrough. A game objective is for the user toposition the controller and/or his or her body in 3D space so as toenable either or both to pass through a cut-out in each object as eachobject passes by the user as described in detail herein with regard toFIG. 7.

In an operation 904, during gameplay, input(s) may be received from theinput controller and/or a motion tracker and analyzed to determinewhether a user has correctly manipulated the input controller and/or hisor her body in 3D space to intercept or clear the objects associatedwith a given track.

In an operation 906, gameplay is scored based on the informationdetermined in operation 904.

Other implementations, uses and advantages of the invention will beapparent to those skilled in the art from consideration of thespecification and practice of the invention disclosed herein.

What is claimed is:
 1. A system configured to facilitate userinteraction with a virtual environment, wherein user interaction withthe virtual environment is based on movement of an input device, thesystem comprising: an input device comprising an elongated object and acontroller component coupled to the elongated object, the elongatedobject comprising a first portion configured to be grasped by a firsthand of a user and a second portion configured to be grasped by a secondhand of the user; and a computer having one or more physical processorsprogrammed with one or more computer program instructions that, whenexecuted by the one or more physical processors, program the computerto: generate images of a virtual environment, wherein the virtualenvironment comprises a virtual reality game and the images of thevirtual environment include a virtual depiction of the input device;detect movement of the input device; determine that a number of a set ofgame objectives has been completed based on the detected movement of theinput device; and determine a score based on the number of the set ofgame objectives that has been completed.
 2. The system of claim 1,wherein the computer is further programmed to: cause the virtualdepiction of the input device to move in the virtual environment basedon movement of the input device.
 3. The system of claim 2, wherein togenerate images of a virtual environment comprising the virtual realitygame, the computer is further programmed to: generate images of each ofa series of virtual objects that appear to travel toward the user downone of one or more predefined passages in the virtual environment,wherein each of the series of virtual objects comprises a first visualcharacteristic or a second visual characteristic, wherein the firstvisual characteristic is different than the second visualcharacteristic.
 4. The system of claim 3, wherein a first end of thevirtual depiction of the input device corresponds to the first visualcharacteristic and the second end of the virtual depiction of the inputdevice corresponds to the second visual characteristic, wherein thecomputer is further programmed to: determine a number of the series ofvirtual objects that comprise the first visual characteristic that areintercepted by the first end of the virtual depiction of the inputdevice, wherein a virtual object is intercepted by an end of the virtualdepiction of the input device when a position of the end of the virtualdepiction of the input device is within a proximity of a position thatcorresponds with the end of the predefined passage of the virtual objectat a predefined time; determine a number of the series of virtualobjects that comprise the second visual characteristic that areintercepted by the second end of the virtual depiction of the inputdevice; determine the number of the set of game objectives that has beencompleted based on the number of the series of virtual objects thatcomprise the first visual characteristic that are intercepted by thefirst end of the virtual depiction of the input device and the number ofthe series of virtual objects that comprise the second visualcharacteristic that are intercepted by the second end of the virtualdepiction of the input device, wherein the score indicates the number ofthe virtual objects that have been intercepted by an end of the virtualdepiction of the input device that corresponds with a visualcharacteristic of each virtual object.
 5. The system of claim 2, whereinthe system is further programmed to: determine that one or moreconditions associated with a modified game state have been satisfied;activate the modified game state based on the determination that the oneor more conditions have been satisfied, wherein the modified game statecauses the virtual depiction of the input device to move more rapidly inthe virtual environment based on the movement of the input device; andcause an indication that the modified game state has been activated tobe provided to the user.
 6. The system of claim 3, wherein the computeris further programmed to: receive user input indicating a selection of asong; and cause the images of the series of virtual objects to appear totravel toward the user based on the selected song.
 7. The system ofclaim 1, wherein the images of the virtual environment further include adepiction of a second input device comprising a second elongated objectand a second controller component coupled to the second elongatedobject, wherein the computer is further programmed to: detect movementof the input device and the second input device simultaneously;determine that a second number of the set of game objectives has beencompleted based on the detected movement of the second input device; anddetermine a second score based on the second number of the set of gameobjectives that has been completed.
 8. The system of claim 1, furthercomprising a virtual reality headset configured to be worn on the headof the user and present virtual reality content via a display of thevirtual reality headset, wherein the virtual reality content comprisesthe virtual reality game.
 9. The system of claim 1, wherein the computeris further programmed to: generate an image of a virtual representationof the user to be depicted in the virtual environment, wherein theimages of the virtual environment include the image of the virtualrepresentation of the user.
 10. The system of claim 9, furthercomprising a motion tracker, wherein the motion tracker is configuredto: detect motion or gestures of the user; and transmit datarepresentative of the detected motion or gestures to the computer,wherein the computer is configured to manipulate the image of thevirtual representation of the user based on the data representative ofthe detected motion or gestures of the user.
 11. The system of claim 1,wherein the computer is further programmed to: receive user inputindicating a request to modify the virtual depiction of the inputdevice; generate an updated virtual depiction of the input device basedon the request; and cause the updated virtual depiction of the inputdevice to be depicted in the virtual environment.
 12. The system ofclaim 1, wherein the computer is further programmed to: cause gameplayof the virtual reality game to be recorded; receive user inputindicating a request to share the recorded gameplay via social media;and cause the recorded gameplay to be shared via social media responsiveto the request.
 13. The system of claim 1, wherein the controllercomponent is permanently coupled to the elongated object.
 14. The systemof claim 1, wherein the controller component is removably coupled to theelongated object.
 15. The system of claim 14, wherein the elongatedobject may be substituted for a second elongated object.
 16. The systemof claim 15, wherein the second elongated object comprises a woodenstick, a broom handle, a foam roller, an exercise baton, or an exercisebar.
 17. The system of claim 1, wherein the elongated object comprisesone or more telescoping portions at a first end of the elongated objectand/or a second end of the elongated object, the one or more telescopingportions configured adjust the length of the elongated objected.
 18. Thesystem of claim 1, wherein the controller component comprises one ormore sensors configured to detect the movement of the input device.